/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Modelo;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;

/**
 *
 * @author 
 */
public class Proveedor {
    private String id_proveedor;
    private String nombre;
    private String ruc;

    public String getId_proveedor() {
        return id_proveedor;
    }

    public void setId_proveedor(String id_proveedor) {
        this.id_proveedor = id_proveedor;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getRuc() {
        return ruc;
    }

    public void setRuc(String ruc) {
        this.ruc = ruc;
    }
    
     public static boolean agregarProveedor(Proveedor obj_a){
       boolean a=false;
      Connection conexion = null;
      try {
          conexion= ControladorBD.darConexionBD();
          CallableStatement st;
          st=conexion.prepareCall("{call  sp_Registrar_Proveedor(?,?,?)}");
          conexion.setAutoCommit(false);
          
          if(obj_a.getNombre() != null){
              if(obj_a.getNombre().length()>0){
                st.setString(1,obj_a.getNombre());
              }
              else{
                st.setString(1,null);
              } 
          }
          else{
              st.setString(1,null);
          }
           if(obj_a.getRuc() != null){
              if(obj_a.getRuc().length()>0){
                st.setString(2,obj_a.getRuc());
              }
              else{
                st.setString(2,null);
              } 
          }
          else{
              st.setString(2,null);
          }
           
           
     
          st.registerOutParameter(3, java.sql.Types.VARCHAR); //intentar extraer el parametro de salida y darselo al codigo
          st.execute();
          if(st.getString(3)!=null){
              a=true;
          }
          st.close();
          conexion.setAutoCommit(true);
          conexion.close();
     }catch(Exception error){
          System.out.println("Error en agregarProveedor:"+error.getMessage());
          error.printStackTrace();
    }
      return a;
    
     }
         public static ArrayList<Proveedor>getCargarProveedor(){
        ArrayList<Proveedor> arreglo=null;
        Proveedor obj = null;
        Connection conexion = null;
        ResultSet rs= null;

        try{
            conexion = ControladorBD.darConexionBD();
            CallableStatement st = conexion.prepareCall("{call sp_Listar_Proveedor()}");
            rs=st.executeQuery();
            //st(1,estado);
            if(rs.next()){
                arreglo=new ArrayList<Proveedor>();
                do{
                    obj=new Proveedor();
                    obj.setNombre(rs.getString("nombre"));
                    obj.setRuc(rs.getString("ruc"));
                    arreglo.add(obj);
                }while(rs.next());
            }
        }catch(Exception error) {
            System.out.println("Error en Listado: " + error.getMessage());
            error.getMessage();
        }
        return arreglo;
    
    }

 
}
   
    
     
